package com.edu.d11_interface_jdk8;

public interface SportManInter {
    /**
     * 1、从JDK 8开始，默认方法（实例方法）
     * 必须使用defaullt修饰，默认public修饰
     * 默认方法，接口不能创建的对象，这个方法只能过继给实现类，由实现类的对象调用
     */
    //也就是说，使用了default修饰之后，接口内的方法可以写不能写方法体，只能写方法签名方法体了
    //但是用public修饰的方法，
    //public abstract void run1();
    default void run(){
        System.out.println("默认方法");
        swimming();
    }
    /**
     * 2、静态方法
     * 必须用static修饰，默认使用public修饰
     * 接口的静态方法，必须使用接口名.静态方法名，来调用，无法使用对象来调用
     * 同样也可以在接口中写方法体
     */
    static void jump(){
        System.out.println("静态方法");
    }
    /**
     * 3、私有方法
     * JDK 9之后才有得，必须在接口内部才能调用
     */
    private void swimming(){
        System.out.println("私有方法");
    }
}
class people implements SportManInter{
}
class Test{
    public static void main(String[] args) {
        people people = new people();
        people.run();
        SportManInter.jump();
    }
}
